package org.jeecg.tender.information.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.tender.information.entity.TenderInformation;
import org.jeecg.tender.information.vo.TenderInformationDetailVO;
import org.jeecg.tender.information.vo.TenderInformationVO;
import org.jeecg.tender.project.dto.req.SendProjectNoticeReqDto;
import org.jeecg.tender.taskJob.b2b10086.support.B2b10086PublishPageReq;
import org.jeecg.tender.taskJob.bdebid.support.BdebidRespInfo;

import java.util.Date;
import java.util.List;

/**
 * @Description: tender_information
 * @Author: jeecg-boot
 * @Date:   2025-02-24
 * @Version: V1.0
 */
public interface ITenderInformationService extends IService<TenderInformation> {

    List<TenderInformationVO> queryPageInformationList(Page<TenderInformationVO> page, QueryWrapper<TenderInformation> queryWrapper);

    /**
     * 保存b2b10086招标信息
     *
     * @param b10086PublishPageReq
     * @param url
     * @return void
     * @author: qiang.zhou
     * @date: 2025/2/24 17:35
     **/
    void saveB2b10086(String detailUrl, String detail, String detailType, List<Long> lableList, B2b10086PublishPageReq b10086PublishPageReq, List<SendProjectNoticeReqDto> noticeInfoList, String url,String publishType);

    /**
     * 保存bdebid招标信息
     *
     * @param detail
     * @param respInfo
     * @param detailUrl
     * @return void
     * @author: qiang.zhou
     * @date: 2025/2/25 10:05
     **/
    void saveBdebid(String websiteName, String detail, String detailType, List<Long> lableList, BdebidRespInfo respInfo, List<SendProjectNoticeReqDto> noticeInfoList, String detailUrl);

    /**
     * 保存邮政招标信息
     *
     * @param lableList
     * @param information
     * @param href
     * @return void
     * @author: qiang.zhou
     * @date: 2025/2/24 17:35
     **/
    void saveCg11185(List<Long> lableList, TenderInformation information, List<SendProjectNoticeReqDto> noticeInfoList, String href);

    /**
     * 获取招标信息标签
     * @author: qiang.zhou
     * @date: 2025/2/25 14:50
     * @param title
     * @return java.util.List<java.lang.Long>
     **/
    List<Long> checkLabel(String title);

    /**
     * 通过id查询详情
     * @param id
     * @return
     */
    TenderInformationDetailVO queryDetailById(String id);


    List<TenderInformation> getTenderInformationWebsite(Date startTime, Date endTime);
}
